package leetcode_181_200;

public class reverseBits_190 {
    public int reverseBits(int n) {
        int result=0;
        for(int i=0; i<32; i++){
            int t=( n >> i  ) & 1 ;
            // 将整数 n 右移 i 位，然后与1  ( 即0000....1 )进行按位与操作，结果只会是0或1（）
            // 目的是提取 n 的第 i 位 ，  该位为1，则按位与的结果即t 为1；否则为0
            if( t==1 )   result=result |  1 << ( 31 - i );
             //结果是1，需要将对应反序位置的0设置为1 ，将1左移(31 - i)位，然后将结果与ans进行按位或操作。这会将ans的第(31 - i)位设置为1
        }
        return result;
    }
}
